The invention relates to the field of data retrieval and communications. More specifically, the invention relates to updating data objects for dynamic application caching for data communications.
The competition among web applications on the Internet is continuing to increase. To provide economic value, web applications must offer content that is current, compelling, targeted to user interests and needs, and rich in information. Accordingly, web sites are providing dynamic content to meet such demands. However, as web sites transition from static to dynamic content, the business tension between the need for improved website performance and sky-rocketing costs of web operations continues to mount. In particular, many web sites face the challenge of expanding to include more personalized, dynamic content, improving performance, while simultaneously reducing the costs of web operations. The explosion of dynamic content, personalization and more sophisticated content management applications is significantly increasing the value of each web site browsing experience. However, such features for a web site are also bogging down backend systems, thereby creating performance, scaling, and cost headaches.
A current approach to such problems includes a never-ending build-out of additional servers and software. In addition to the new capital equipment, such an approach typically requires hiring of extra staff to manage the new web infrastructure.
Another typical approach to such problems includes conventional caches that store and retrieve copies of static objects, such as bitmaps and pictures. However, because web sites are gravitating to more dynamic content (as described above), such conventional caches are not able to cache most web pages. Moreover, these conventional caches associate time-to-live periods for content elements that have been cached. Disadvantageously, these conventional caches required a specified fixed time-to-live period for each content element. This is time consuming, inaccurate, puts unnecessary load on a web site, and requires recoding with each change in the web pages.
A method, apparatus and system for updating data objects for dynamic application caching are described. In an embodiment, a method comprises receiving a hit rate and a change rate for a data object stored in a cache. The method also includes updating a time-to-live period for the data object stored in the cache based on the hit rate and the change rate for the data object.